/*
 *  region.h
 *  wonderland-project
 *
 *  Created by Ben Nolan on 15/10/08.
 *  Copyright 2008 Nolan Consulting Limited. All rights reserved.
 *
 */

#pragma once

#include <string>

namespace Ogre {
	class SceneManager;
	class SceneNode;
}

namespace Wonderland{
	class AnimationManager;
	class SyncManager;

	class Region{
    public:
		Ogre::SceneManager* getSceneManager(){ return scene_manager_; };
		Wonderland::AnimationManager* getAnimationManager(){ return animation_manager_; };

		void save(std::string fn);
		void load(std::string fn);

		Ogre::SceneNode* createNode(std::string name);

		void setSyncManager(Wonderland::SyncManager* sync);
		inline Wonderland::SyncManager* Region::getSyncManager(){
			return sync_manager_;
		}
    protected:
		Ogre::SceneManager* scene_manager_;
		Wonderland::AnimationManager* animation_manager_;
		Wonderland::SyncManager* sync_manager_;
  };
}